using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DTO;
using BUS;
namespace GUI
{
    public partial class nhapdiem : Form
    {
        public nhapdiem()
        {
            InitializeComponent();
        }
        string thongbaoloi = "";
        int flag = 0;
       double diemtb;
        DataTable dtkhoi = new DataTable();
        DataTable dthocsinh = new DataTable();
        DataTable dtmonhoc = new DataTable();
        DataTable dthocki = new DataTable();
        DataTable dtdanhsach = new DataTable();
        ketquaDTO ketquadto = new ketquaDTO();
        private void nhapdiem_Load(object sender, EventArgs e)
        {
            dtkhoi = hocsinhBUS.danhsachkhoi();
            dthocsinh = hocsinhBUS.danhsachhocsinh();
            dtmonhoc = hocsinhBUS.danhsachmonhoc();
            dthocki = hocsinhBUS.danhsachhocki();
           
            //cmbkhoi
            cmbkhoi.DataSource = dtkhoi;
            cmbkhoi.DisplayMember = "tenkhoi";
            cmbkhoi.ValueMember = "makhoi";
            cmbkhoi.SelectedIndex = -1;
            //cmbmonhoc
            cmbmonhoc.DataSource = dtmonhoc;
            cmbmonhoc.DisplayMember = "tenmh";
            cmbmonhoc.ValueMember = "mamh";
            //cmbhocki
            cmbhocki.DataSource = dthocki;
            cmbhocki.DisplayMember = "tenhk";
            cmbhocki.ValueMember = "mahk";

            //txttrungbinh.Enabled = false;
            btnsuadiem.Enabled = false;
            cmbhocki.SelectedIndex = -1;
            cmblop.SelectedIndex = -1;
            cmbmonhoc.SelectedIndex = -1;
            
        }
       
        private void button4_Click(object sender, EventArgs e)
        {
            cmbkhoi.SelectedIndex = -1;
            dataGridView1.Columns.Clear();
            lammoi();
            btnsuadiem.Enabled = false;
            enable(true);
        }

        private void txtmieng_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (char.IsDigit(e.KeyChar) == false && char.IsControl(e.KeyChar) == false)
                e.Handled = true;
        }
        void lammoi()
        {
            //txttrungbinh.Text = "";
            //txtthi.Text = "";
            //txtmieng.Text = "";
            //txt1tietlan2.Text = "";
            //txt1tietlan1.Text = "";
            //txt15phut.Text = "";
            cmblop.SelectedIndex = -1;
            cmbmonhoc.SelectedIndex = -1;
            cmbhocki.SelectedIndex = -1;
            cmbkhoi.SelectedIndex = -1;
           
        }

        private void btnthemdiem_Click(object sender, EventArgs e)
        {
            dataGridView1.Visible = true;
            enable(true);
            btnsuadiem.Enabled = false;
            flag = 1;
            if (cmbkhoi.SelectedIndex != -1)
            {
                if (cmblop.SelectedIndex != -1)
                {

                    ketquadto.Malop = cmblop.SelectedValue.ToString();
                    dtdanhsach = hocsinhBUS.danhsachnhapdiem(ketquadto);
                    dtdanhsach.Columns.Add("Điểm miệng");
                    dtdanhsach.Columns.Add("Điểm 15phut");
                    dtdanhsach.Columns.Add("Điểm 1 tiết lần 1");
                    dtdanhsach.Columns.Add("Điểm 1 tiết lần 2");
                    dtdanhsach.Columns.Add("Điểm thi");
                    dtdanhsach.Columns[0].ReadOnly = true;
                    dtdanhsach.Columns[1].ReadOnly = true;
                    dataGridView1.DataSource = dtdanhsach;
                    
                }
                else
                    MessageBox.Show("Bạn chưa chọn lớp học!");
            }
            else
                MessageBox.Show("Bạn chưa chọn khối!");
            
        }

        private void btnsuadiem_Click(object sender, EventArgs e)
        {
            enable(false);
            flag = 2;
            btnsuadiem.Enabled = false;
        }

        private void listdanhsach_SelectedIndexChanged(object sender, EventArgs e)
        {
            btnsuadiem.Enabled = true;
            
        }

        private void btnluu_Click(object sender, EventArgs e)
        {
            

            if (flag == 1)
            {
                foreach (DataRow dr in dtdanhsach.Rows)
                {
                    
                    
                    if (cmbmonhoc.SelectedIndex != -1)
                    {
                        if (cmbhocki.SelectedIndex != -1)
                        {
                            //khai bao gan gia tri cho bien
                            ketquadto.Mahs = dr[0].ToString();
                            ketquadto.Diemmieng = dr[2].ToString();
                            ketquadto.Diem15 = dr[3].ToString();
                            ketquadto.Diem1tiet1 = dr[4].ToString();
                            ketquadto.Diem1tiet2 = dr[5].ToString();
                            ketquadto.Diemthi = dr[6].ToString();
                            ketquadto.Diemtb = diemtb.ToString();
                            ketquadto.Malop = cmblop.SelectedValue.ToString();
                            ketquadto.Mamh = cmbmonhoc.SelectedValue.ToString();
                            ketquadto.Mahk = cmbhocki.SelectedValue.ToString();
                            
                            
                            if (hocsinhBUS.themdiem(ketquadto) == true)
                            {
                                MessageBox.Show("thêm thành công!", "THÔNG BÁO");
                               // diemtb = (Convert.ToDouble(dr[2].ToString()) + Convert.ToDouble(dr[3].ToString()) +( Convert.ToDouble(dr[4].ToString())*2) + (Convert.ToDouble(dr[5].ToString())*2) + (Convert.ToDouble(dr[6].ToString())*3))/9;
                               // lbltrungb.Text = diemtb.ToString();
                            }
                            else
                                MessageBox.Show("thêm thất bại!", "THÔNG BÁO");
                        }
                        else
                            MessageBox.Show("Bạn chưa chọn học kì!");
                    }
                    else
                        MessageBox.Show("Bạn chưa chọn môn học!");
                }
            }

            
           
            if (flag == 2)
            {
                foreach (DataRow r in dtdanhsach.Rows)
                {
                    ketquadto.Mahs = r[0].ToString();
                    ketquadto.Diemmieng = r[2].ToString();
                    ketquadto.Diem15 = r[3].ToString();
                    ketquadto.Diem1tiet1 = r[4].ToString();
                    ketquadto.Diem1tiet2 = r[5].ToString();
                    //diem tb
                    ketquadto.Diemthi = r[6].ToString();
                    ketquadto.Diemtb = diemtb.ToString();
                    ketquadto.Malop = cmblop.SelectedValue.ToString();
                    ketquadto.Mamh = cmbmonhoc.SelectedValue.ToString();
                   
                    ketquadto.Mahk = cmbhocki.SelectedValue.ToString();
                    if (hocsinhBUS.suadiem(ketquadto)==true)
                        MessageBox.Show("Cap nhat thanh cong!");
                    else
                        MessageBox.Show("Cap nhat that bai!");
                    btnsuadiem.Enabled = false;
                }
            }
        }

        private void label1_Click(object sender, EventArgs e)
        {

        }
        void enable(Boolean dk)
        {
            cmbhocki.Enabled = dk;
            cmbkhoi.Enabled = dk;
            cmbmonhoc.Enabled = dk;
            cmblop.Enabled = dk;
        }
        private void cmbkhoi_SelectedIndexChanged(object sender, EventArgs e)
        {
            
            KhoiDTO khoidto = new KhoiDTO();
            if (cmbkhoi.SelectedIndex == -1)
            {
                khoidto.Makhoi = "0";
            }
            else
            {
                khoidto.Makhoi = cmbkhoi.SelectedValue.ToString();
                DataTable dtlop = new DataTable();
                dtlop = hocsinhBUS.danhsachloptheokhoi(khoidto);
                cmblop.DataSource = dtlop;
                cmblop.DisplayMember = "tenlop";
                cmblop.ValueMember = "malop";
            }

        }

        

        private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
        {
            //kiểm tra cột cần bắt sự kiện ở đây là cột thứ 2
            if (this.dataGridView1.CurrentCellAddress.X == dataGridView1.Columns[2].DisplayIndex)
            {
                TextBox txt = e.Control as TextBox;
                txt.Name = "SoChuyenThu";
                if (txt != null)
                {
                    txt.KeyPress -= new KeyPressEventHandler(txt_KeyPress);
                    txt.KeyPress += new KeyPressEventHandler(txt_KeyPress);
                }
            }
            //kiểm tra cột thứ 2
            if (this.dataGridView1.CurrentCellAddress.X == dataGridView1.Columns[2].DisplayIndex)
            {
                TextBox txtsotui = e.Control as TextBox;
                txtsotui.Name = "SoTui";
                if (txtsotui != null)
                {
                    txtsotui.KeyPress -= new KeyPressEventHandler(txtsotui_KeyPress);
                    txtsotui.KeyPress += new KeyPressEventHandler(txtsotui_KeyPress);

                }
            }
        }
        private void txtsotui_KeyPress(object sender, KeyPressEventArgs e)
        {
            //Kiem tra cot
            TextBox txt = (TextBox)sender;
            if (txt.Name == "SoTui")
            {
                //Kiem tra do dai txtbox
                if (txt.Text.Length < 2)
                {
                   
                        e.Handled = false;

                        //kiem tra du lieu kieu so
                        if (char.IsDigit(e.KeyChar) || char.IsControl(e.KeyChar))
                        {
                            e.Handled = false;
                        }
                        else
                        {
                            e.Handled = true;
                        }
                }
                else
                {
                    if (e.KeyChar == (Char)Keys.Delete || e.KeyChar == (Char)Keys.Back)
                        e.Handled = false;
                    else
                        e.Handled = true;
                }

            }
        }
        private void txt_KeyPress(object sender, KeyPressEventArgs e)
        {
            //Kim tra cot
            TextBox txt = (TextBox)sender;
            if (txt.Name == "SoChuyenThu")
            {
                //Kiem tra do dai txtbox ko được nhấp wa 2 kí tự
                if (txt.Text.Length < 2)
                {
                    e.Handled = false;

                }
                else
                {
                    //không cho nhập hơn 2 kí tự 
                    if (e.KeyChar == (Char)Keys.Delete || e.KeyChar == (Char)Keys.Back)
                        e.Handled = false;
                    else
                        e.Handled = true;

                }

            }
        }
        private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {

            if (Convert.ToInt64(dataGridView1.CurrentRow.Cells[2].Value) > 10 || Convert.ToInt64(dataGridView1.CurrentRow.Cells[2].Value) <0)
                {
                    this.Focus();
                    MessageBox.Show("Gia tri phải nhỏ hơn 10");
                }
            
            
        }

        private void button1_Click(object sender, EventArgs e)
        {

            if (cmblop.SelectedIndex != -1)
            {
                if (cmbmonhoc.SelectedIndex != -1)
                {
                    if (cmbhocki.SelectedIndex != -1)
                    {

                        ketquadto.Malop = cmblop.SelectedValue.ToString();
                        ketquadto.Mamh = cmbmonhoc.SelectedValue.ToString();
                        ketquadto.Mahk = cmbhocki.SelectedValue.ToString();

                        dtdanhsach = hocsinhBUS.danhsachketqua(ketquadto);
                        //khong cho nguoi dung thay doi du lieu
                        dtdanhsach.Columns[0].ReadOnly = true;
                        dtdanhsach.Columns[1].ReadOnly = true;
                        
                        
                        
                        dataGridView1.DataSource = dtdanhsach;
                    }
                    else
                        MessageBox.Show("Bạn chưa chọn học kì");
                }
                else
                    MessageBox.Show("Bạn chưa chọn môn học cần xem");
            }
            else
                MessageBox.Show("Bạn chưa chọn lớp");
            
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            btnsuadiem.Enabled = true;
        }

        private void btnthoat_Click(object sender, EventArgs e)
        {
            DialogResult dlg;
            dlg = MessageBox.Show("Ban muon thoat?","THONG BAO!",MessageBoxButtons.YesNo);
            if (dlg == DialogResult.Yes)
                this.Close();
        }

       

    }
}